A personal computer (PC) that is to be used for communicating over a network is generally loaded with specialized software, known as a Network Operating System (NOS), that governs the manner in which higher-level processes, such as user applications, interact with the network. The NOS, in turn, interacts with lower-level processes, called network drivers, that are responsible for governing the actual transmission and receipt of data between the PC and the network.
Most common NOS software developed for use in PCs, such as that distributed by Microsoft.RTM. and Novell.RTM., require that the network drivers with which they interact identify the type of network over which that network driver will be communicating. The NOS uses this information to format network packets to be transmitted over the network before passing them to the network driver. More specifically, the NOS uses the network type information to build Media Access Control (MAC) headers in the network packet, thereby ensuring that the network packet has the proper format for transmission over the network.
The major distributors of NOS software configure their programs to accept only a limited variety of network types, corresponding to the most widely-implemented network protocols. Thus, the most common NOS software on the market today is generally configured to work only with Ethernet, Token Ring, and ATM network protocols. This means that if a network driver informs the NOS that it is configured to communicate over some other type of network, the NOS will not be able to interact with that network driver absent some programming change.
For a variety of reasons, it is not realistic to expect that the major NOS vendors will readily change their software to accommodate a new network type and distribute such changes throughout their existing customer base. Accordingly, there is a need for a method of allowing a network driver to interact with existing NOS software where the network driver is configured to communicate over a network of a type not supported by that NOS software. Moreover, the method should be transparent to the NOS software.